package com.example.petproject.entity.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
    * 商品spu表
    */
public class PmsSpu implements Serializable {
    private Long id;

    /**
    * 品牌ID(对应品牌表主键ID)
    */
    private Long brandId;

    /**
    * 一级分类ID(对应商品分类表主键ID)
    */
    private Long cid1;

    /**
    * 二级分类ID(对应商品分类表主键ID)
    */
    private Long cid2;

    /**
    * 商品名称
    */
    private String name;

    /**
    * 副标题
    */
    private String subTitle;

    /**
    * 商品总销量
    */
    private Integer sale;

    /**
    * 评价总评分
    */
    private Integer commentTotalScore;

    /**
    * 商品评价数量
    */
    private Integer commentAmount;

    /**
    * 商品规格(json格式，用于商品详情页展示商品所有规格)
    */
    private String productSpecification;

    /**
    * 商品默认价格
    */
    private BigDecimal defaultPrice;

    /**
    * 商品默认图片URL
    */
    private String defaultPicUrl;

    /**
    * 上架状态：0->下架；1->上架
    */
    private Boolean publishStatus;

    /**
    * 审核状态：0->未审核；1->审核通过
    */
    private Integer verifyStatus;

    /**
    * 是否有效，0->已删除；1->有效
    */
    private Boolean valid;

    /**
    * 创建时间
    */
    private LocalDateTime createdTime;

    /**
    * 修改时间
    */
    private LocalDateTime updatedTime;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getCid1() {
        return cid1;
    }

    public void setCid1(Long cid1) {
        this.cid1 = cid1;
    }

    public Long getCid2() {
        return cid2;
    }

    public void setCid2(Long cid2) {
        this.cid2 = cid2;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSubTitle() {
        return subTitle;
    }

    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle;
    }

    public Integer getSale() {
        return sale;
    }

    public void setSale(Integer sale) {
        this.sale = sale;
    }

    public Integer getCommentTotalScore() {
        return commentTotalScore;
    }

    public void setCommentTotalScore(Integer commentTotalScore) {
        this.commentTotalScore = commentTotalScore;
    }

    public Integer getCommentAmount() {
        return commentAmount;
    }

    public void setCommentAmount(Integer commentAmount) {
        this.commentAmount = commentAmount;
    }

    public String getProductSpecification() {
        return productSpecification;
    }

    public void setProductSpecification(String productSpecification) {
        this.productSpecification = productSpecification;
    }

    public BigDecimal getDefaultPrice() {
        return defaultPrice;
    }

    public void setDefaultPrice(BigDecimal defaultPrice) {
        this.defaultPrice = defaultPrice;
    }

    public String getDefaultPicUrl() {
        return defaultPicUrl;
    }

    public void setDefaultPicUrl(String defaultPicUrl) {
        this.defaultPicUrl = defaultPicUrl;
    }

    public Boolean getPublishStatus() {
        return publishStatus;
    }

    public void setPublishStatus(Boolean publishStatus) {
        this.publishStatus = publishStatus;
    }

    public Integer getVerifyStatus() {
        return verifyStatus;
    }

    public void setVerifyStatus(Integer verifyStatus) {
        this.verifyStatus = verifyStatus;
    }

    public Boolean getValid() {
        return valid;
    }

    public void setValid(Boolean valid) {
        this.valid = valid;
    }

    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }

    public LocalDateTime getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(LocalDateTime updatedTime) {
        this.updatedTime = updatedTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", brandId=").append(brandId);
        sb.append(", cid1=").append(cid1);
        sb.append(", cid2=").append(cid2);
        sb.append(", name=").append(name);
        sb.append(", subTitle=").append(subTitle);
        sb.append(", sale=").append(sale);
        sb.append(", commentTotalScore=").append(commentTotalScore);
        sb.append(", commentAmount=").append(commentAmount);
        sb.append(", productSpecification=").append(productSpecification);
        sb.append(", defaultPrice=").append(defaultPrice);
        sb.append(", defaultPicUrl=").append(defaultPicUrl);
        sb.append(", publishStatus=").append(publishStatus);
        sb.append(", verifyStatus=").append(verifyStatus);
        sb.append(", valid=").append(valid);
        sb.append(", createdTime=").append(createdTime);
        sb.append(", updatedTime=").append(updatedTime);
        sb.append("]");
        return sb.toString();
    }
}